﻿using System;
using System.Drawing;
using System.Runtime.CompilerServices;
using System.Windows.Forms;

namespace Shine.Framework
{
    public interface IDockManager
    {
        /// <summary>
        /// 激活停驻面板，使该面板处于最前
        /// </summary>
        /// <param name="itemText">面板名称</param>
        void ActivateDockPanel(string itemText);
        void ShowOverviewMap();
        /// <summary>
        /// 移除停驻面板
        /// </summary>
        /// <param name="itemText"></param>
        void RemoveDockPanel(string itemText);

        /// <summary>
        /// 获取当前停驻面板中的控件
        /// </summary>
        /// <param name="itemText">面板名称</param>
        /// <returns>停驻面板中的控件</returns>
        Control GetControlFromDockPanel(string itemText);

        /// <summary>
        /// 增加停驻面板
        /// </summary>
        /// <param name="text">面板名称</param>
        /// <param name="control">面板中的控件</param>
        /// <param name="isReplace">是否替换同名面板</param>
        /// <param name="sides">位置</param>
        /// <returns>是否添加成功</returns>
        bool AddDockPanel(string text, Control control, bool isReplace, esriDockFlags sides);

        object DockManager { set; }
        Form MainForm { set; }

        bool AddTabItem(string text, Control control);

        /// <summary>
        /// 激活停驻面板，使该面板处于最前
        /// </summary>
        /// <param name="itemText">面板名称</param>
        void ActivateTabItem(string itemText);
    }
}

